<?php
/**
 *  * 系统-受国家计算机软件著作权保护 - !
 * =========================================================
 * Copy right 2018-2025 成都海之心科技有限公司, 保留所有权利。
 * ----------------------------------------------
 * 官方网址: http://www.ohyu.cn
 * 这不是一个自由软件！在未得到官方有效许可的前提下禁止对程序代码进行修改和使用。
 * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
 * =========================================================
 * User: ohyueo
 * Date: 2022/4/18
 * Time: 0:19
 */
namespace app\common;
use Qiniu\Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Storage\UploadManager;

//composer require qiniu/php-sdk

class Qiniu
{
    public static function upload($filename,$filePath){
        $filename=str_replace('\\','/',$filename);//替换\斜杠
        // 需要填写你的 Access Key 和 Secret Key
        $accessKey=config('-cloudsite.accesskey');//Env::get('qiniu.qiniu_access_key');
        $secretKey=config('-cloudsite.secretkey');//Env::get('qiniu.qiniu_secret_key');
        $bucket=config('-cloudsite.bucket');//Env::get('qiniu.qiniu_bucket');
        $domain=config('-cloudsite.domain');//Env::get('qiniu.qiniu_domain');
        // 构建鉴权对象
        $auth = new Auth($accessKey, $secretKey);
        // 生成上传 Token
        $token = $auth->uploadToken($bucket);
        // 初始化 UploadManager 对象并进行文件的上传。
        $uploadMgr = new UploadManager();
        // 调用 UploadManager 的 putFile 方法进行文件的上传。
        $res = $uploadMgr->putFile($token, $filename, $filePath);
        if($res[1]==null){ //上传成功
            return $filename;
        }else{//上传失败
            return false;
        }
    }

    public static function delete($filename)
    {
        $accessKey=config('-cloudsite.accesskey');//Env::get('qiniu.qiniu_access_key');
        $secretKey=config('-cloudsite.secretkey');//Env::get('qiniu.qiniu_secret_key');
        $bucket=config('-cloudsite.bucket');//Env::get('qiniu.qiniu_bucket');
        // 构建鉴权对象
        $auth = new Auth($accessKey, $secretKey);
        # 初始化对象管理
        $manager = new BucketManager($auth);
        list($res,$err) = $manager->delete($bucket,$filename);
        if ($err) return $err;
        else return 1;
    }
}